package com.sg.dto.biz.app.req;

import com.sg.dto.biz.app.common.MemoryBusinessDataDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc AddMemoryBusinessDataComReqDto
 * @使用场景
 */
@Data
public class AddMemoryBusinessDataComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 数据对象批次标识
     */
    @NotNull(message = "数据对象批次标识不能为空")
    @ApiModelProperty("数据对象批次标识")
    private String dataObjectBatchCode;

    /**
     * 业务数据对象 ACCT_STD_DATA_TARGET_CONT_SNAP:账户标准数据目标内容快照 ACCT_STD_DATA_AMT_SNAP:目标内容周期、相关人与账户快照 INIT_BUDGET_AND_REAL_ACCT:初始化预算或实体账户 TARGET_BUDGET_SET:目标预算设置 CACL_OR_UNDERPIN_STD_DATA_SNAP:计算或托底标准数据快照 EVA_TEMP_CONF_ARGUMENTS:评价模板配置参数
     */
    @NotNull(message = "业务数据对象不能为空")
    @ApiModelProperty("业务数据对象")
    private String businessDataObject;

    /**
     * 是否是数据集对象 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否是数据集对象不能为空")
    @ApiModelProperty("是否是数据集对象")
    private String isDataList;

    @ApiModelProperty("内存业务数据列表")
    private List<MemoryBusinessDataDto> memoryBusinessDataList = new ArrayList<>();

}
